<?php
/**
 * 商品品牌类
 */
namespace app\admin\controller;
use app\admin\controller\Common;
class Brand extends Common{

	/**
	 * 展示商品品牌列表页
	 */
	public function lst(){
		
		//分配模版标头信息变量
		$this->setPageTitle("品牌列表","添加品牌",url('addShow'));

		//获取品牌
		$brands = db('brand')->order('sort,bid desc')->paginate( config('paginate.list_rows') );

		//分配变量
		$this->assign('brands',$brands);

		//展示视图
		return $this->fetch();
	}

	/**
	 * 展示品牌添加页
	 */
	public function addShow(){

		//分配模版标头信息变量
		$this->setPageTitle("添加品牌","品牌列表",url('lst'));

		//展示视图
		return $this->fetch('add');
	}

	/**
	 * 添加品牌
	 */
	public function add(){

		//安全处理 
		if( !request()->isPost() ){

			$this->error('您访问的页面不存在！');

		}

		//字段验证
		$validate = \think\Loader::validate('Brand');
		if( !$validate->check(input('post.')) ){

			$this->error( $validate->getError() );

		}

		//收集数据
		$data['brand_name'] = input('post.ch_name');
		$data['brand_name_en'] = input('post.en_name');
		$data['brand_web_url'] = input('post.site_url');
		$data['brand_status'] = input('post.status')+0;
		$data['brand_logo'] = input('post.uploadImg');
		$data['brand_desc'] = input('post.desc');
		$data['sort'] = input('post.sort')+0;
		
		//判断品牌名是否存在
		$db = db('brand');
		if( $db->getbyBrandName($data['brand_name']) ){

			$this->error('该品牌名已经存在，请更换品牌名！');

		}

		//添加品牌
		if( $db->strict(true)->insert($data) ){

			//获取最后执行的sql语句
			$sql = $db->getLastSql();

			//添加管理员日志
			adminLog( session('id'), '添加了品牌：'.$data['brand_name'], $sql );

			$this->success('添加成功！',url('lst'));

		}else{

			$this->error('添加失败！');
			
		}

	}

	/**
	 * 展示品牌添加页
	 */
	public function editShow(){

		//分配模版标头信息变量
		$this->setPageTitle("添加品牌","品牌列表",url('lst'));

		//获取品牌
		$id = input('id')+0;
		$brand = db('brand')->find($id);

		//分配变量
		$this->assign('brand',$brand);

		//展示视图
		return $this->fetch('edit');
	}

	/**
	 * 添加品牌
	 */
	public function edit(){

		//安全处理 
		if( !request()->isPost() ){

			$this->error('您访问的页面不存在！');

		}

		//字段验证
		$validate = \think\Loader::validate('Brand');
		if( !$validate->check(input('post.')) ){

			$this->error( $validate->getError() );

		}

		//收集数据
		$data['brand_name'] = input('ch_name');
		$data['brand_name_en'] = input('en_name');
		$data['brand_web_url'] = input('site_url');
		$data['brand_logo'] = input('uploadImg');
		$data['brand_status'] = input('status')+0;
		$data['brand_desc'] = input('desc');
		$data['sort'] = input('sort')+0;
		$data['bid'] = input('id')+0;

		//判断品牌名是否存在
		$db = db('brand');
		if( $db->where('brand_name','<>',$data['brand_name'])->getbyBrandName($data['brand_name']) ){

			$this->error('该品牌名已经存在，请更换品牌名！');

		}
		
		//修改品牌
		if( false !== $db->strict(true)->update($data) ){

			//获取最后执行的sql语句
			$sql = $db->getLastSql();

			//添加管理员日志
			adminLog( session('id'), '修改了品牌：'.$data['brand_name'], $sql );

			$this->success('更改成功！',url('lst'));

		}else{

			$this->error('更改失败！');
			
		}

	}

	/**
	 * 异步删除品牌
	 */
	public function del(){

		//安全处理 
		if( !request()->isAjax() ){

			$this->error('您访问的页面不存在！');

		}

		//接收信息
		$id = input('id')+0;
		$name = input('name');

		//获取品牌的logo图
		$db = db('brand');
		$logo = $db->where('bid','=',$id)->value('brand_logo');

		//删除品牌
		if( $db->delete($id) ){

			//删除logo图
			@unlink('.'.$logo);

			//获取最后执行的sql语句
			$sql = $db->getLastSql();

			//添加管理员日志
			adminLog( session('id'), '删除了品牌：'.$name, $sql );

			echo json_encode(['status'=>true,'msg'=>'删除成功！']);
		}else{

			echo json_encode(['status'=>false,'msg'=>'删除失败！']);
		}

	}

	/**
	 * 异步上传logo图
	 */
	public function uploadLogo(){
		
		// 获取表单上传文件 例如上传了001.jpg
	    $file = request()->file('Filedata');
	   
	    // 移动到框架应用根目录/public/uploads/ 目录下
	    if($file){
	    	
	    	$uploadPath = '.'.config('upload_path');
	    	if( !is_dir( $uploadPath ) ) @mkdir($uploadPath,777);

	        $info = $file->move( $uploadPath );

	        if($info){
	        	
	            // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
	            echo $path = $info->getSaveName();

	        }else{
	            // 上传失败获取错误信息
	            echo '上传失败！';
	        }

	    }
	}

	/**
	 * 异步删除logo图
	 */
	public function delLogo(){

		//安全处理 
		if( !request()->isAjax() ){

			$this->error('您访问的页面不存在！');

		}
		
		//获取信息
		$imgPath = '.'.input('path');
		
		//判断图片是否存在
		if( !file_exists($imgPath) ){
			echo json_encode(['status'=>false,'msg'=>'你要删除的图片不存在！']);
			die;
		}

		//删除图片
		if( @unlink($imgPath) ){

			//更新条件
			$data['brand_logo'] = '';
			$data['bid'] = input('id')+0;

			if( $data['bid'] ){

				db('brand')->strict(true)->update($data);

			}


			echo json_encode(['status'=>true,'msg'=>'删除成功！']);

		}else{

			echo json_encode(['status'=>false,'msg'=>'删除失败！']);

		}



	}

	/**
	 * 异步排序
	 */
	public function sort(){

		//安全处理 
		if( !request()->isAjax() ){

			$this->error('您访问的页面不存在！');

		}

		//判断图片是否存在
		if( !is_numeric( input('sort') ) || !is_numeric( input('id') ) ){
			echo json_encode(['status'=>false,'msg'=>'请输入合法信息！']);
			die;
		}

		//获取信息
		$data['sort'] = input('sort')+0;
		$data['bid'] = input('id')+0;

		//修改排序
		if( db('brand')->update($data) ){

			echo json_encode(['status'=>true,'msg'=>'修改成功！']);

		}else{

			echo json_encode(['status'=>false,'msg'=>'修改失败！']);

		}



	}


}

